package com.hongxun.project.assets.pJointPole.service;

import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hongxun.project.assets.pJointPole.mapper.PJointPoleMapper;
import com.hongxun.project.assets.pJointPole.domain.PJointPole;
import com.hongxun.project.assets.pJointPole.service.IPJointPoleService;
import com.hongxun.common.utils.text.Convert;

/**
 * 同杆架设采集 服务层实现
 *
 * @author hongxun
 * @date 2019-03-19
 */
@Service
public class PJointPoleServiceImpl implements IPJointPoleService {
    @Autowired
    private PJointPoleMapper pJointPoleMapper;

    /**
     * 查询同杆架设采集信息
     *
     * @param id 同杆架设采集ID
     * @return 同杆架设采集信息
     */
    @Override
    public PJointPole selectPJointPoleById(String id, String taskId) {
        return pJointPoleMapper.selectPJointPoleById(id, taskId);
    }

    @Override
    public PJointPole selectPJointPoleByIdForState(String id, String taskId) {
        return pJointPoleMapper.selectPJointPoleByIdForState(id, taskId);
    }

    /**
     * 查询同杆架设采集列表
     *
     * @param pJointPole 同杆架设采集信息
     * @return 同杆架设采集集合
     */
    @Override
    public List<PJointPole> selectPJointPoleList(PJointPole pJointPole) {
        return pJointPoleMapper.selectPJointPoleList(pJointPole);
    }

    /**
     * 新增同杆架设采集
     *
     * @param pJointPole 同杆架设采集信息
     * @return 结果
     */
    @Override
    public int insertPJointPole(PJointPole pJointPole) {
        pJointPole.setId(UUID.randomUUID().toString());
        return pJointPoleMapper.insertPJointPole(pJointPole);
    }

    /**
     * 修改同杆架设采集
     *
     * @param pJointPole 同杆架设采集信息
     * @return 结果
     */
    @Override
    public int updatePJointPole(PJointPole pJointPole) {
        return pJointPoleMapper.updatePJointPole(pJointPole);
    }

    /**
     * 删除同杆架设采集对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deletePJointPoleByIds(String ids) {
        return pJointPoleMapper.deletePJointPoleByIds(Convert.toStrArray(ids));
    }


    @Override
    public int deletePJointPoleByIdsAndTaskIds(String ids, String taskIds) {
        return pJointPoleMapper.deletePJointPoleByIdsAndTaskIds(Convert.toStrArray(ids), Convert.toStrArray(taskIds));
    }


    @Override
    public void insertOrReplaceOrDelete(List<PJointPole> entities) {
        for (PJointPole d : entities) {
//			if (d.getDatastate().equals("删除")) {
//				pJointPoleMapper.deletePJointPoleByIdsAndTaskIds(Convert.toStrArray(d.getId()) , Convert.toStrArray(d.getTaskId()));
//			} else {
            PJointPole pJointPole = pJointPoleMapper.selectPJointPoleById(d.getId(), d.getTaskId());
            if (pJointPole == null) {
                pJointPoleMapper.insertPJointPole(d);
            } else {
                pJointPoleMapper.updatePJointPole(d);
//				}
            }
        }
    }

}
